Title Banner

Previous Book Contents Book Index Next

Inside Macintosh: QuickTime Components /
Chapter 10 - Derived Media Handler Components / Derived Media Handler Components Reference


Data Type

The GetMovieCompleteParams data type defines the layout of the complete movie parameter structure used by the MediaInitialize function (described on page 10-17):

typedef struct {
   short          version;          /* version; always 0 */
   Movie          theMovie;         /* movie identifier */
   Track          theTrack;         /* track identifier */
   Media          theMedia;         /* media identifier */
   TimeScale      movieScale;       /* movie's time scale */
   TimeScale      mediaScale;       /* media's time scale */
   TimeValue      movieDuration;    /* movie's duration */
   TimeValue      trackDuration;    /* track's duration */
   TimeValue      mediaDuration;    /* media's duration */
   Fixed          effectiveRate;    /* media's effective rate */
   TimeBase       timeBase;         /* media's time base */
   short          volume;           /* media's volume */
   Fixed          width;            /* width of display area */
   Fixed          height;           /* height of display area */
   MatrixRecord   trackMovieMatrix; /* transformation matrix */
   CGrafPtr       moviePort;        /* movie's graphics port */
   GDHandle       movieGD;          /* movie's graphics device */
   PixMapHandle   trackMatte;       /* track's matte */
} GetMovieCompleteParams;
Field Description
version
Specifies the version of this structure. This field is always set to 0.
theMovie
Identifies the movie that contains the current media's track. This movie identifier is supplied by the Movie Toolbox. Your component may use this identifier to obtain information about the movie that is using your media.
theTrack
Identifies the track that contains the current media. This
track identifier is supplied by the Movie Toolbox. Your component may use this identifier to obtain information about the track that contains your media. For example, you might call the Movie Toolbox's GetTrackNextInterestingTime function in order to examine the track's edit list.
theMedia
Identifies the current media. This media identifier is supplied by the Movie Toolbox. Your derived media handler can use this identifier to read samples or sample descriptions from the current media, using the Movie Toolbox's GetMediaSample and GetMediaSampleDescription functions (see Inside Macintosh: QuickTime for information about the Movie Toolbox).
movieScale
Specifies the time scale of the movie that contains the current media's track. If the Movie Toolbox changes the movie's time scale, the toolbox calls your derived media handler's MediaSetMovieTimeScale function, which is described on page 10-28.
mediaScale
Specifies the time scale of the current media. If the Movie Toolbox changes your media's time scale, the toolbox calls your derived media handler's MediaSetMediaTimeScale function, which is described on page 10-28.
movieDuration
Contains the movie's duration. This value is expressed in the movie's time scale.
trackDuration
Contains the track's duration. This value is expressed in the movie's time scale.
mediaDuration
Contains the media's duration. This value is expressed in the media's time scale.
effectiveRate
Contains the media's effective rate. This rate ties the media's time scale to the passage of absolute time, and does not necessarily correspond to the movie's rate. This value takes into account any master time bases that may be serving the media's time base. The value of this field indicates the number of time units (in the media's time scale) that pass each second.
This rate is represented as a 32-bit, fixed-point number. The high-order 16 bits contain the integer portion, and the low-order 16 bits contain the fractional portion. The rate is negative when time is moving backward for the media.
Whenever the Movie Toolbox changes your media's effective rate, it calls your derived media handler's MediaSetRate function, which is discussed on page 10-24.
timeBase
Identifies the media's time base.
volume
Contains the media's current volume setting. This value is represented as a 16-bit, fixed-point number. The high-order 8 bits contain the integer portion; the low-order 8 bits contain the fractional part. Volume values range from -1.0 to 1.0. Negative values play no sound but preserve the absolute value of the volume setting.
If the Movie Toolbox changes your media's volume, it calls your derived media handler's MediaGSetVolume function, which is discussed on page 10-36.
width
Indicates the width, in pixels, of the track rectangle. This field, along with the height field, specifies a rectangle that surrounds the image that is displayed when the current media is played. This value corresponds to the x coordinate of the lower-right corner of the rectangle and is expressed as a fixed-point number.
If the Movie Toolbox modifies this rectangle, the toolbox calls your derived media handler's MediaSetDimensions function, which is discussed on page 10-30.
Note that your media need not present only a rectangular image. The Movie Toolbox can use a clipping region to cause your media's image to be displayed in a region of arbitrary shape, and it can use a matte to control the image's transparency. The toolbox calls your derived media handler's MediaSetClip function whenever it changes your media's clipping region (see page 10-32 for more information about this function). The trackMatte field in this structure specifies a matte region.
height
Indicates the height, in pixels, of the track rectangle. This value corresponds to the y coordinate of the lower-right corner of the rectangle and is expressed as a fixed-point number.
trackMovieMatrix

Specifies the matrix that transforms your media's pixels into the movie's coordinate system. The Movie Toolbox obtains this matrix by concatenating the track matrix and the movie matrix. You should use this matrix whenever you are displaying graphical data from your media.
Whenever the Movie Toolbox modifies this matrix, it calls your derived media handler's MediaSetMatrix function, which is discussed on page 10-31.
moviePort
Indicates the movie's graphics port. Whenever the Movie Toolbox changes the movie's graphics world, it calls your derived media handler's MediaSetGWorld function, which is discussed on page 10-29.
movieGD
Specifies the movie's graphics device. Whenever the Movie Toolbox changes the movie's graphics world, it calls your derived media handler's MediaSetGWorld function, which is discussed on page 10-29.
trackMatte
Identifies the matte region assigned to the track that uses your media. This field contains a handle to a pixel map that contains a blend matte. Your component is not responsible for disposing of this matte. If there is no matte, this field is set to nil.

Previous Book Contents Book Index Next

© Apple Computer, Inc.
7 JUL 1996




Navigation graphic, see text links

Main | Top of Section | What's New | Apple Computer, Inc. | Find It | Feedback | Help